//=============================================================================
//
//   Copyright (C) 2020 All rights reserved.
//
//   Filename:		mod.rs
//
//   Author: Wang Zhecheng - wangzhecheng@yeah.net
//
//   Date: 2020-10-19 00:31
//
//   Last Editors: Wang Zhecheng - wangzhecheng@yeah.net
//
//   Last modified:	2020-10-30 13:13
//
//   Description:
//
//=============================================================================
pub mod build_mesh;

use crate::component::{element::ElementLike, model::Model};
use crate::dimension::DimType;
use crate::geometry::point::Point;
use std::collections::HashMap;
use std::rc::Weak;
use std::vec::Vec;
// use weak_table::WeakHashSet;

pub struct Mesh<DT: DimType> {
    pt_list: Vec<Weak<Point<DT::Dim>>>,
    shp_list: [HashMap<String, Weak<dyn ElementLike<DT>>>; 4],
}
impl<DT: DimType> Mesh<DT> {
    pub fn new() -> Self {
        Self {
            pt_list: Vec::new(),
            shp_list: [
                HashMap::new(),
                HashMap::new(),
                HashMap::new(),
                HashMap::new(),
            ],
        }
    }
}
